#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#include <SoftwareSerial.h> //库文件

SoftwareSerial BT(4, 5); //设置蓝牙与板子的连接端口。 pin 4 接蓝牙的 TXD pin 5 接蓝牙的 RXD
char X; //定义一个变量存数据。

//if (Serial.available()) //检测：【串口】如果数据写入，则执行。
//{
//X = Serial.read(); //把写入的数据给到自定义变量 X
//BT.print(X); //把数据给蓝牙
const char kd[] ="A_light";//开灯
const char kxd[] ="B_Half_light";//开小灯
const char gd[] ="C_gd";//关灯
const char kcl[] ="D_kcl";//开窗帘
const char gcl[] ="E_gcl";//关窗帘
const char kon[]="";

RF24 radio(7,8);
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
pinMode(A4,INPUT);
pinMode(A3,INPUT);
pinMode(A2,INPUT);
pinMode(A1,INPUT);
pinMode(6,INPUT);
//nrf24部分
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
//蓝牙部分
//Serial.begin(9600); //串口监视器通信速率，9600
//Serial.println("蓝牙连接正常"); //串口监视器显示蓝牙正常状态
BT.begin(9600); //蓝牙通信速率，默认一般为 9600
}

void loop() {
  if (BT.available()) //检测：【蓝牙】如果数据写入，则执行。
  {
  X = BT.read(); //把检测到的数据给到自定义变量 X
  radio.write(&X, sizeof(X));
  delay(10);
  Serial.print(X); //把从蓝牙得到的数据显示到串口监视器
  }
  if(digitalRead(6)==LOW)
  {
  delay(50);
  while(digitalRead(6)==LOW);
  radio.write(&kd, sizeof(kd));
  Serial.println(kd);
  delay(50);
  }
  if(digitalRead(A1)==LOW)
  {
  delay(50);
  while(digitalRead(A1)==LOW);
  radio.write(&kxd, sizeof(kxd));
  Serial.println(kxd);
  delay(50);
  }
  if(digitalRead(A2)==LOW)
  {
  delay(50);
  while(digitalRead(A2)==LOW);
  radio.write(&gd, sizeof(gd));
  Serial.println(gd);
  delay(50);
  }
  if(digitalRead(A3)==LOW)
  {
  delay(50);
  while(digitalRead(A3)==LOW);
  radio.write(&kcl, sizeof(kcl));
  Serial.println(kcl);
  delay(10);
  }
  if(digitalRead(A4)==LOW)
  {
  delay(50);
  while(digitalRead(A4)==LOW);
  radio.write(&gcl, sizeof(gcl));
  Serial.println(gcl);
  delay(50);
  }
  else
  {
    radio.write(&kon, sizeof(kon));
  }
}